/*
 * Charpente.h
 *
 *  Created on: 6 juin 2013
 *      Author: Toshiba
 */

#ifndef CHARPENTE_H_
#define CHARPENTE_H_

//namespace std{

class Classe;
//using namespace std;


class Charpente {
private:
	std::vector<Classe*> listeClasse;
	//Classe c;
public:
	//compter pour chaque classe nombre element au 1er etage
	//les ajouter => polynome chromatique
	Charpente();
	Charpente(const Charpente&);
	virtual ~Charpente();
	//void lire(const char*);
	//void add_classe(const Classe*, Classe);
	//Classe add_classe(const Classe*, Classe);
	void add_classe(Classe* cla);
	void sup_classe(Classe*);
	int verif_charpente();
	void afficher(); // ou surcharge cout
	void resoudre();
	Classe* get_classe(int);
	std::vector<Classe*>& getListeClasse();
	void setListeClasse(const std::vector<Classe*>&);
	bool operator==(const Charpente &) const;
	int getSize();
	Charpente& operator = (const Charpente&);
	int calcul_polynome();

	//friend ostream & operator<< (ostream&, Charpente&);


};

#endif /* CHARPENTE_H_ */
